function out = my_getClimit(Data,opt)
	% Climit = my_getClimit(Data)
	% -------- custom function ------
	% description:
	%	get the range of color map based on the quantile of data
	% input:
	%	Data,2D numerical
	%	opt:
	%		"Method": string
	%			"quantile"
	%			"rmoutliers"
%			"Symmetry": 
%				"min": [-min,+min]
%				"max": [-max,+max]
	% output:
	%	Climit = [cmin, cmax]
	% Author: Sid Chen
	% Date: 2021/12/27	
	% Log:
	% 	v1.0 create 2021/12/27
	% 	v1.1 update 2022/09/05
	
	arguments
		Data
		opt.Method = "quantile"
		opt.Symmetry = []
	end
	
	if opt.Method == "quantile"
		cmin = quantile(Data,0.05,'all');
		cmax = quantile(Data,0.95,'all');
	elseif opt.Method == "rmoutliers"
		Data_rm = rmoutliers(Data(:),'mean');
		cmin = min(Data_rm);
		cmax = max(Data_rm);
	else
		error('Method not set!');
	end

	if ~isempty(opt.Symmetry) && cmin * cmax < 0
		if opt.Symmetry == "min"
			out = [cmin,-cmin];
		elseif opt.Symmetry == "max"
			out = [-cmax,cmax];
		else
			error("Wrong arguements for Symmetry!");
		end
	else
		out = [cmin,cmax];
	end
end
